# Пораждающий шаблон проектирования ("Одиночка")
# Позволяет создать единственный экземпляр класс

class DatabaseHelper:
    __detabase_connection = None
    __data: str

    def __new__(cls):
        if cls.__detabase_connection is None:
            cls.__detabase_connection: DatabaseHelper = object.__new__(cls)
            print("Подключение к БД")
        return cls.__detabase_connection

    def select_data(self) -> str:
        return self.__data

    def insert_data(self, new_data: str):
        self.__data = new_data


if __name__ == "__main__":
    connection1 = DatabaseHelper()
    connection1.insert_data('123')

    connection2 = DatabaseHelper()
    print(connection2.select_data())

# Подключение к БД
# 123
